package org.adit.spring.hibernate.controller;

import org.adit.spring.hibernate.dao.ProdutoDao;
import org.adit.spring.hibernate.entity.Carrinho;
import org.adit.spring.hibernate.entity.Item;

import br.com.caelum.vraptor.Delete;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;

@Resource
public class CarrinhoController {

	private final Carrinho carrinho;
	private final ProdutoDao dao;
	private final Result result;
	
	public CarrinhoController(Carrinho carrinho, ProdutoDao dao, Result result){
		this.carrinho = carrinho;
		this.dao = dao;
		this.result = result;
	}

	@Get @Path("/carrinho")
	public void visualiza() {
		
	}
	
	@Get @Path("/impressao")
	public void visualizaImpressao() {

	}
	
	@Post @Path("/carrinho")
	public void adiciona(Item item){
		dao.recarrega(item.getProduto());
		carrinho.adiciona(item);
		
		result.redirectTo(ProdutosController.class).lista();
	}
	
	@Delete @Path("/carrinho/{indiceItem}")
	public void remove(int indiceItem) {
		carrinho.remove(indiceItem);
		result.redirectTo(CarrinhoController.class).visualiza();
	}
}
